﻿using System;
using System.Web;
using System.Web.Security;

namespace VioletDevelopmentLaboratory.Net.Web
{
	public class UserInfoBridge : IVBoardUserInfoBridge
	{
		/// <summary>
		/// 현재 로그인한 사용자의 이름과 공급자키를 가져옵니다.
		/// </summary>
		/// <returns>VWebUserInfo</returns>
		public VBoardUserInfo GetUserInfo()
		{
			String username = "";
			String providerUserKey = "";

			if (HttpContext.Current.User.Identity.IsAuthenticated)
			{
				MembershipUser currentUser = Membership.GetUser();
				username = currentUser.UserName;
				providerUserKey = currentUser.ProviderUserKey.ToString();
			}

			return new VBoardUserInfo(username, providerUserKey);
		}

		/// <summary>
		/// 사용자의 이름과 공급자키를 가져옵니다.
		/// </summary>
		/// <returns>VWebUserInfo</returns>
		public static VBoardUserInfo GetUserInfo(String userName)
		{
			String username = "";
			String providerUserKey = "";

			MembershipUser user = Membership.GetUser(userName, false);
			if (user != null)
			{
				username = user.UserName;
				providerUserKey = user.ProviderUserKey.ToString();
			}

			return new VBoardUserInfo(username, providerUserKey);
		}
	}
}